commonlibsse_ng\re\p\PlayerCharacter/
vr_node_data.rs1use crate::re::NiSmartPointer::NiPointer;
2use crate::re::{BSFadeNode, BSTriShape, NiBillboardNode, NiNode};
3use core::ffi::c_void;
4
5#[commonlibsse_ng_derive_internal::ffi_enum]
6#[repr(u32)]
7#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
8pub enum VR_Bow_State {
9 #[default]
10 None,
11 NoAmmo,
12 Idle,
13 ArrowKnocked,
14}
15
16#[derive(Debug)]
17pub struct VR_NODE_DATA {
18 pub PlayerWorldNode: NiPointer<NiNode>, pub FollowNode: NiPointer<NiNode>, pub FollowOffset: NiPointer<NiNode>, pub HeightOffsetNode: NiPointer<NiNode>, pub SnapWalkOffsetNode: NiPointer<NiNode>, pub RoomNode: NiPointer<NiNode>, pub BlackSphere: NiPointer<NiNode>, pub uiNode: NiPointer<NiNode>, pub InWorldUIQuadGeo: NiPointer<BSTriShape>, pub UIPointerNode: NiPointer<NiNode>, pub UIPointerGeo: NiPointer<BSTriShape>, pub DialogueUINode: NiPointer<NiNode>, pub TeleportDestinationPreview: NiPointer<NiNode>, pub TeleportDestinationFail: NiPointer<NiNode>, pub TeleportSprintPreview: NiPointer<NiNode>, pub SpellOrigin: NiPointer<NiNode>, pub SpellDestination: NiPointer<NiNode>, pub ArrowOrigin: NiPointer<NiNode>, pub ArrowDestination: NiPointer<NiNode>, pub QuestMarker: NiPointer<NiNode>, pub LeftWandNode: NiPointer<NiNode>, pub LeftWandShakeNode: NiPointer<NiNode>, pub LeftValveIndexControllerNode: NiPointer<NiNode>, pub unkNode4A8: NiPointer<NiNode>, pub LeftWeaponOffsetNode: NiPointer<NiNode>, pub LeftCrossbowOffsetNode: NiPointer<NiNode>, pub LeftMeleeWeaponOffsetNode: NiPointer<NiNode>, pub LeftStaffWeaponOffsetNode: NiPointer<NiNode>, pub LeftShieldOffsetNode: NiPointer<NiNode>, pub RightShieldOffsetNode: NiPointer<NiNode>, pub SecondaryMagicOffsetNode: NiPointer<NiNode>, pub SecondaryMagicAimNode: NiPointer<NiNode>, pub SecondaryStaffMagicOffsetNode: NiPointer<NiNode>, pub RightWandNode: NiPointer<NiNode>, pub RightWandShakeNode: NiPointer<NiNode>, pub RightValveIndexControllerNode: NiPointer<NiNode>, pub unkNode510: NiPointer<NiNode>, pub RightWeaponOffsetNode: NiPointer<NiNode>, pub RightCrossbowOffsetNode: NiPointer<NiNode>, pub RightMeleeWeaponOffsetNode: NiPointer<NiNode>, pub RightStaffWeaponOffsetNode: NiPointer<NiNode>, pub PrimaryMagicOffsetNode: NiPointer<NiNode>, pub PrimaryMagicAimNode: NiPointer<NiNode>, pub PrimaryStaffMagicOffsetNode: NiPointer<NiNode>, pub unk550: u64, pub CrosshairParent: NiPointer<NiBillboardNode>, pub CrosshairSecondaryParent: NiPointer<NiBillboardNode>, pub TargetLockParent: NiPointer<NiBillboardNode>, pub GamepadNode: NiPointer<NiNode>, pub LastSyncPos: NiPointer<NiNode>, pub UprightHmdNode: NiPointer<NiNode>, pub MapMarkers3D: NiPointer<NiNode>, pub NPCLHnd: NiPointer<NiNode>, pub NPCRHnd: NiPointer<NiNode>, pub NPCLClv: NiPointer<NiNode>, pub NPCRClv: NiPointer<NiNode>, pub unk5B0: u32, pub unk5B4: u32, pub unk5B8: u64, pub bowState: VR_Bow_State, pub unk5C4: u32, pub BowAimNode: NiPointer<NiNode>, pub BowRotationNode: NiPointer<NiNode>, pub ArrowSnapNode: NiPointer<NiNode>, pub ArrowNode: NiPointer<BSFadeNode>, pub ArrowFireNode: NiPointer<BSFadeNode>, pub unk5F0: u64, pub ArrowHoldOffsetNode: NiPointer<NiNode>, pub ArrowHoldNode: NiPointer<NiNode>, pub unk608: u64, pub currentArrowSnapDistance: f32, pub unk614: u32, pub currentBowDrawAmount: f32, pub lastRumbleBowDrawAmount: f32, pub unk620: u64, pub unk628: u64, pub unk630: u64, pub QuestMarkerBillBoardsNodeArray: *mut c_void, pub TeleportNodeArray: *mut c_void, pub QuestMarkerBillBoardsNodeArray2: *mut c_void, pub unk650: u64, pub TeleportNodeArray2: *mut c_void, pub QuestMarkerBillBoardsNodeArray3: *mut c_void, pub unk668: u64, pub unkf32670: f32, pub unk674: u32, pub TeleportNodeArray3: *mut c_void, }
106const _: () = assert!(core::mem::size_of::<VR_NODE_DATA>() == 0x290);